package com.tjsinfo.tjsoa.export.bo;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.dom4j.Document;

import com.tjsinfo.tjsoa.articles.vo.TIndexArticles;
import com.tjsinfo.tjsoa.common.PaginationSupport;
import com.tjsinfo.tjsoa.documentationflow.dangweifawen.vo.TDangweifawenNeirong;
import com.tjsinfo.tjsoa.documentationflow.xingzhengfawen.vo.FaWenInfo;
import com.tjsinfo.tjsoa.documentationflow.xingzhengfawen.vo.TXingzhengfawenNeirong;
import com.tjsinfo.tjsoa.system.vo.TSystemUser;
import com.tjsinfo.tjsoa.system.vo.User;

/**
 * 导出管理BO
 * @author 天津市电子计算机研究所
 *
 */
public interface IExportManage {

	/**
	 * 多个栏目联合查询文章
	 * @param cid
	 * @param sstart
	 * @param slimit
	 * @param date
	 * @return
	 */
	public PaginationSupport findByCids(String cidsString, String sstart,String slimit,Date startDate,Date endDate);

	/**
	 * 根据ids查找文章
	 * @param idsArray
	 * @return
	 */
	public List<TIndexArticles> findByIds(String[] idsArray);

	/**
	 * 生成文章html
	 * @param articlesL
	 * @param fromFilePathString
	 * @param toFilePathString
	 * @param fujianPathString 
	 */
	public void createArticlesHtml(TIndexArticles article,
			String fromFilePathString, String toFilePathString, String fujianPathString);

	/**
	 * 文件夹打包
	 * @param toFilePathString
	 * @param fujianPathString 
	 */
	public String pack(String toFilePathString, String fujianPathString);

	/**
	 * 创建文章XML
	 * @param articlesList
	 * @param toFilePathString
	 */
	public void createArticlesXML(List<TIndexArticles> articlesList,
			String toFilePathString);

	/**
	 * 整理目标文件夹
	 * @param toFilePathString
	 */
	public void mkdir(String toFilePathString);

	/**
	 * 获取cid、栏目名map
	 * @param cidsString
	 * @return
	 */
	public Map<Integer, String> findExportCidNames(String cidsString);
	
	/**
	 * 根据发文日期查找当前用户可查阅的文件
	 * @param userId
	 * @param i
	 * @param j
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public List<FaWenInfo> selectWenJian(Integer userId, int start, int limit,
			Date startDate, Date endDate);

	/**
	 * 根据ids查找文件
	 * @param idsArray
	 * @return
	 */
	public List<TXingzhengfawenNeirong> findXZDocByIds(String[] idsArray);
	public List<TDangweifawenNeirong> findDWDocByIds(String[] idsArray);
	/**
	 * 建立文件XML
	 * @param toFilePathString
	 */
	public Document createDocsXML(String toFilePathString);

	/**
	 *  XML中增加文件条目
	 * @param docsList
	 * @param toFilePathString
	 */
	public void writeDocsXML(Document xmlDocument, String toFilePathString);

	/**
	 * 向临时文件夹中拷贝文件正文及附件
	 * @param doctemp
	 * @param string
	 * @param toFilePathString
	 * @param docfujianPath 
	 * @param xmlDocument 
	 * @param fujianPathString
	 */
	public Document copyDoc(TXingzhengfawenNeirong doctemp,	String toFilePathString, String rootPathString, Document xmlDocument);

	public Document copyDoc(TDangweifawenNeirong doctemp, String toFilePathString, String rootPathString, Document xmlDocument);

	
	/**
	 * 根据UUID查找行政发文
	 * @param id
	 * @return
	 */
	public TXingzhengfawenNeirong findXZDocById(String id);

	/**
	 * 根据UUID查找党委发文
	 * @param id
	 * @return
	 */
	public TDangweifawenNeirong findDWDocById(String id);

//	/**
//	 * 拷贝文章附件
//	 * @param articlesL
//	 * @param fujianPathString
//	 */
//	public void copyArticlesFujian(TIndexArticles article, String fujianPathString, String toFilePathString);
}
